export default function recursion(obj) {
	const obj_ = obj;
	const key = Object.keys(obj_);
	if (obj_[key] && typeof obj_[key] === 'object') {
		if ({}.propertyIsEnumerable.call(obj_[key], 'value')) {
			obj_[key] = obj_[key].value;
		} else if ({}.propertyIsEnumerable.call(obj_[key], 'selectedItem')) {
			if (obj_[key].selectedItem.length > 0) {
				if (obj_[key].selectedItem.length > 1) {
					obj_[key] = obj_[key].selectedItem.map(item => item.value);
				} else {
					obj_[key] = [obj_[key].selectedItem[0].value];
				}
			} else if (obj_[key].selectedItem.length === 0) {
				obj_[key] = [];
			}
		} else {
			obj_[key] = recursion(obj_[key]);
		}
	}
	return obj_;
}
